草庐IT

java - Scala 模式匹配 Java 枚举值

全部标签

Ruby 用捕获的正则表达式模式替换字符串

我在将它翻译成Ruby时遇到了问题。这是一段JavaScript,它完全符合我的要求:functionget_code(str){returnstr.replace(/^(Z_.*):.*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​;}我试过了gsub,sub,和replace但似乎没有一个能达到我的预期。以下是我尝试过的示例:"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/){|capture|capture}"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/,"$1")"Z_sdsd:sdsd".gsub(/^(Z_.*):.*/,

Ruby 正则表达式组匹配,在 1 行上分配变量

我目前正在尝试将一个字符串转换为多个变量。示例字符串:ryan_string="RyanOnRails:Thisisatest"我已将其与此正则表达式匹配,分为3组:ryan_group=ryan_string.scan(/(^.*)(:)(.*)/i)现在要访问每个组,我必须执行如下操作:ryan_group[0][0](firstgroup)RyanOnRailsryan_group[0][1](secondgroup):ryan_group[0][2](thirdgroup)Thisisatest这看起来很荒谬,感觉我做错了什么。我希望能够做这样的事情:g1,g2,g3=ryan

ruby - 如何在文件文本中搜索模式并将其替换为给定值

我正在寻找一个脚本来搜索文件(或文件列表)中的模式,如果找到,则用给定值替换该模式。想法? 最佳答案 免责声明:这种方法是对Ruby功能的简单说明,而不是用于替换文件中字符串的生产级解决方案。它容易出现各种故障情况,例如在崩溃、中断或磁盘已满的情况下丢失数据。此代码不适用于备份所有数据的快速一次性脚本。因此,请勿将此代码复制到您的程序中。这是一个快速的简短方法。file_names=['foo.txt','bar.txt']file_names.eachdo|file_name|text=File.read(file_name)ne

ruby - 什么是 Ruby File.open 模式和选项?

Ruby的File.open将模式和选项作为参数。在哪里可以找到模式和选项的完整列表? 最佳答案 在RubyIOmoduledocumentation,我想。Mode|Meaning-----+--------------------------------------------------------"r"|Read-only,startsatbeginningoffile(defaultmode).-----+--------------------------------------------------------"r+

ruby - 如何找到包含匹配值的哈希键

鉴于我有以下clients哈希,是否有一种快速的ruby​​方法(无需编写多行脚本)来获取我想要匹配client_id的key?例如。如何获取client_id=="2180"的key?clients={"yellow"=>{"client_id"=>"2178"},"orange"=>{"client_id"=>"2180"},"red"=>{"client_id"=>"2179"},"blue"=>{"client_id"=>"2181"}} 最佳答案 Ruby1.9及更高版本:hash.key(value)=>keyruby1

ruby - 如何在 Ruby 中实现枚举?

在Ruby中实现枚举习惯用法的最佳方法是什么?我正在寻找我可以(几乎)使用的东西,例如Java/C#枚举。 最佳答案 两种方式。符号(:foo表示法)或常量(FOO表示法)。当您希望增强可读性而又不让文字字符串乱扔代码时,符号是合适的。postal_code[:minnesota]="MN"postal_code[:new_york]="NY"当您具有重要的基础值时,常量是合适的。只需声明一个模块来保存您的常量,然后在其中声明常量。moduleFooBAR=1BAZ=2BIZ=4endflags=Foo::BAR|Foo::BAZ#

ruby - 如何在 Ruby 中匹配所有出现的正则表达式

有没有一种快速的方法可以在Ruby中找到每个正则表达式的匹配项?我查看了RubySTL中的Regex对象并在Google上搜索无果。 最佳答案 使用scan应该做的伎俩:string.scan(/regex/) 关于ruby-如何在Ruby中匹配所有出现的正则表达式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/80357/

javascript - 正则表达式中的 $ 与行尾不匹配

我对以下正则表达式有疑问:vars="http://www.google.com/dir/file\r\nhello"varre=newRegExp("http://([^/]+).*/([^/\r\n]+)$");vararr=re.exec(s);alert(arr[2]);在上面,我希望arr[2](即捕获组2)是"file",与最后一个匹配应用贪心后第一行中的4个字符。*,由于/中的回溯模式,然后通过$锚定在行尾。事实上,arr[]为空,这意味着模式甚至不匹配。我可以稍微改变它,使其完全符合我的意图:vars="http://www.google.com/dir/file\r\

javascript - 在 Java 中不使用 POJO 类解析不同的 JSON 响应

我正在用Java解析来自RESTAPI的JSON响应,但我不想为每个响应创建一个Java类(POJO)(响应具有不同的数据结构和字段)。Java中是否有更通用的JSON解析器类似于JavaScript的简单语法?下面的JSON只是众多REST端点之一的结果{"f1":"volume","f2":"gender","f3":"days","f4":[{"id":"F","name":"female","values":[{"name":"September","value":12}]},{"id":"M","name":"male","values":[{"name":"Septembe

javascript - 正则表达式匹配的内容

我一直在尝试将以下内容从Python转换为node.js。这是一个使用正则表达式检查IP地址是公共(public)地址还是私有(private)地址的简单程序:importredefis_private_ip(ip):"""Returns`True`ifthe`ip`parameterisaprivatenetworkaddress."""c=re.compile('(^127\.0\.0\.1)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.)')ifc.match(ip):returnT